/**
 * Copyright (C) 2013-2014 the original author or authors.
 */
package com.foreveross.bsl.mam.app.application;

import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

import com.foreveross.bsl.mam.app.application.vo.DefindVo;

/**
 * 
 * @author tanzhixiong
 * @2013-6-21 @上午11:26:02
 */
@Path(value = "/logos")
public interface DefindApplication {

	@POST
	@Path("/add")
	@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
	public DefindVo saveEntity(DefindVo entity);

	@PUT
	@Path("/update/{id}")
	@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
	public DefindVo updateEntity(@PathParam("id") String id, DefindVo entity);

	@DELETE
	@Path("/delete/{id}")
	public void deleteEntity(@PathParam("id") String id);

	@GET
	@Path("/get/{id}")
	@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
	public DefindVo getEntity(@PathParam("id") String id);

	@GET
	@Path("/{platform}/{version}/{appId}")
	@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
	public DefindVo getEntityByAppId(@PathParam("platform") String platform,
			@PathParam("version") String version,
			@PathParam("appId") String appId);

	@DELETE
	@Path("/{platform}/{version}/{appId}")
	@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
	public void deleteByAppId(@PathParam("platform") String platform,
			@PathParam("version") String version,
			@PathParam("appId") String appId);

}
